home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / net / irda / irlmp_event.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.9 KB  |  99 lines

  1. /*********************************************************************
  2.  *                
  3.  * Filename:      irlmp_event.h
  4.  * Version:       0.1
  5.  * Description:   IrDA-LMP event handling
  6.  * Status:        Experimental.
  7.  * Author:        Dag Brattli <dagb@cs.uit.no>
  8.  * Created at:    Mon Aug  4 20:40:53 1997
  9.  * Modified at:   Thu Jul  8 12:18:54 1999
  10.  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  11.  * 
  12.  *     Copyright (c) 1997, 1999 Dag Brattli <dagb@cs.uit.no>, 
  13.  *     All Rights Reserved.
  14.  *     Copyright (c) 2000-2002 Jean Tourrilhes <jt@hpl.hp.com>
  15.  *     
  16.  *     This program is free software; you can redistribute it and/or 
  17.  *     modify it under the terms of the GNU General Public License as 
  18.  *     published by the Free Software Foundation; either version 2 of 
  19.  *     the License, or (at your option) any later version.
  20.  *
  21.  *     Neither Dag Brattli nor University of Troms√∏ admit liability nor
  22.  *     provide warranty for any of this software. This material is 
  23.  *     provided "AS-IS" and at no charge.
  24.  *
  25.  ********************************************************************/
  26.  
  27. #ifndef IRLMP_EVENT_H
  28. #define IRLMP_EVENT_H
  29.  
  30. /* A few forward declarations (to make compiler happy) */
  31. struct irlmp_cb;
  32. struct lsap_cb;
  33. struct lap_cb;
  34. struct discovery_t;
  35.  
  36. /* LAP states */
  37. typedef enum {
  38.     /* IrLAP connection control states */
  39.     LAP_STANDBY,             /* No LAP connection */
  40.     LAP_U_CONNECT,           /* Starting LAP connection */
  41.     LAP_ACTIVE,              /* LAP connection is active */
  42. } IRLMP_STATE;
  43.  
  44. /* LSAP connection control states */
  45. typedef enum {
  46.     LSAP_DISCONNECTED,        /* No LSAP connection */
  47.     LSAP_CONNECT,             /* Connect indication from peer */
  48.     LSAP_CONNECT_PEND,        /* Connect request from service user */
  49.     LSAP_DATA_TRANSFER_READY, /* LSAP connection established */          
  50.     LSAP_SETUP,               /* Trying to set up LSAP connection */
  51.     LSAP_SETUP_PEND,          /* Request to start LAP connection */
  52. } LSAP_STATE;
  53.  
  54. typedef enum {
  55.     /* LSAP events */
  56.      LM_CONNECT_REQUEST,
  57.      LM_CONNECT_CONFIRM,
  58.     LM_CONNECT_RESPONSE,
  59.      LM_CONNECT_INDICATION,     
  60.     
  61.     LM_DISCONNECT_INDICATION,
  62.     LM_DISCONNECT_REQUEST,
  63.  
  64.      LM_DATA_REQUEST,
  65.     LM_UDATA_REQUEST,
  66.      LM_DATA_INDICATION,
  67.     LM_UDATA_INDICATION,
  68.  
  69.     LM_WATCHDOG_TIMEOUT,
  70.  
  71.     /* IrLAP events */
  72.     LM_LAP_CONNECT_REQUEST,
  73.      LM_LAP_CONNECT_INDICATION, 
  74.      LM_LAP_CONNECT_CONFIRM,
  75.      LM_LAP_DISCONNECT_INDICATION, 
  76.     LM_LAP_DISCONNECT_REQUEST,
  77.     LM_LAP_DISCOVERY_REQUEST,
  78.      LM_LAP_DISCOVERY_CONFIRM,
  79.     LM_LAP_IDLE_TIMEOUT,
  80. } IRLMP_EVENT;
  81.  
  82. extern const char *irlmp_state[];
  83. extern const char *irlsap_state[];
  84.  
  85. void irlmp_watchdog_timer_expired(void *data);
  86. void irlmp_discovery_timer_expired(void *data);
  87. void irlmp_idle_timer_expired(void *data);
  88.  
  89. void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event, 
  90.             struct sk_buff *skb);
  91. int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event, 
  92.             struct sk_buff *skb);
  93.  
  94. #endif /* IRLMP_EVENT_H */
  95.  
  96.  
  97.  
  98.  
  99.